home *** CD-ROM | disk | FTP | other *** search
/ Champak 125 / Vol 125 (Damaged).iso / games / chewits.swf / scripts / frame_2 / PlaceObject2_148_74 / CLIPACTIONRECORD onClipEvent(load).as < prev    next >
Encoding:
Text File  |  2008-11-13  |  29.6 KB  |  905 lines

  1. onClipEvent(load){
  2.    hexencode = function(thevalue)
  3.    {
  4.       var _loc1_ = thevalue;
  5.       if(_loc1_ >= 10)
  6.       {
  7.          return chr(65 + _loc1_ - 10);
  8.       }
  9.       return chr(48 + _loc1_);
  10.    };
  11.    hexdecode = function(thecharacter)
  12.    {
  13.       var _loc1_ = ord(thecharacter);
  14.       if(_loc1_ >= 97)
  15.       {
  16.          return 10 + _loc1_ - 97;
  17.       }
  18.       if(_loc1_ >= 65)
  19.       {
  20.          return 10 + _loc1_ - 65;
  21.       }
  22.       return _loc1_ - 48;
  23.    };
  24.    urlencode = function(astring)
  25.    {
  26.       var thestring = String(astring);
  27.       var _loc2_ = new String("");
  28.       var _loc3_ = 0;
  29.       while(_loc3_ < thestring.length)
  30.       {
  31.          var _loc1_ = ord(thestring.charAt(_loc3_));
  32.          if(_loc1_ >= 48 && _loc1_ <= 57 || _loc1_ >= 65 && _loc1_ <= 90 || _loc1_ >= 97 && _loc1_ <= 122 || _loc1_ == 95 || _loc1_ == 45 || _loc1_ == 46)
  33.          {
  34.             _loc2_ = _loc2_.concat(chr(_loc1_));
  35.          }
  36.          else if(_loc1_ == 32)
  37.          {
  38.             _loc2_ = _loc2_.concat("+");
  39.          }
  40.          else
  41.          {
  42.             _loc2_ = _loc2_.concat("%");
  43.             var firstdigit = 0;
  44.             while(_loc1_ >= 16)
  45.             {
  46.                firstdigit++;
  47.                _loc1_ -= 16;
  48.             }
  49.             _loc2_ = _loc2_.concat(hexencode(firstdigit));
  50.             _loc2_ = _loc2_.concat(hexencode(_loc1_));
  51.          }
  52.          _loc3_ = _loc3_ + 1;
  53.       }
  54.       return _loc2_;
  55.    };
  56.    urldecode = function(astring)
  57.    {
  58.       var thestring = String(astring);
  59.       var _loc2_ = new String("");
  60.       var _loc1_ = 0;
  61.       while(_loc1_ < thestring.length)
  62.       {
  63.          var _loc3_ = thestring.charAt(_loc1_);
  64.          if(_loc3_ == "%")
  65.          {
  66.             var hex = thestring.substr(_loc1_ + 1,2);
  67.             _loc1_ += 2;
  68.             var charactercode = hexdecode(hex.charAt(0)) * 16 + hexdecode(hex.charAt(1));
  69.             _loc2_ = _loc2_.concat(chr(charactercode));
  70.          }
  71.          else if(_loc3_ == "+")
  72.          {
  73.             _loc2_ = _loc2_.concat(" ");
  74.          }
  75.          else
  76.          {
  77.             _loc2_ = _loc2_.concat(_loc3_);
  78.          }
  79.          _loc1_ = _loc1_ + 1;
  80.       }
  81.       return _loc2_;
  82.    };
  83.    md5hash = function(thedata, thepassword, decode)
  84.    {
  85.       var md5key = new Array(255);
  86.       var _loc1_ = new Array(255);
  87.       var data = new String(thedata);
  88.       var password = new String(thepassword);
  89.       var pwd_length = password.length;
  90.       if(decode)
  91.       {
  92.          data = urldecode(data);
  93.       }
  94.       var i;
  95.       var x;
  96.       var i = 0;
  97.       while(i <= 255)
  98.       {
  99.          md5key[i] = ord(password.charAt(i % pwd_length));
  100.          _loc1_[i] = i;
  101.          i++;
  102.       }
  103.       var x = 0;
  104.       var i = 0;
  105.       while(i <= 255)
  106.       {
  107.          x = (x + _loc1_[i] + md5key[i]) % 256;
  108.          var temp_swap = _loc1_[i];
  109.          _loc1_[i] = _loc1_[x];
  110.          _loc1_[x] = temp_swap;
  111.          i++;
  112.       }
  113.       var cipher = new String("");
  114.       var _loc2_ = 0;
  115.       var _loc3_ = 0;
  116.       var i = 0;
  117.       while(i < data.length)
  118.       {
  119.          _loc2_ = (_loc2_ + 1) % 256;
  120.          _loc3_ = (_loc3_ + _loc1_[_loc2_]) % 256;
  121.          var temp = _loc1_[_loc2_];
  122.          _loc1_[_loc2_] = _loc1_[_loc3_];
  123.          _loc1_[_loc3_] = temp;
  124.          var k = _loc1_[(_loc1_[_loc2_] + _loc1_[_loc3_]) % 256];
  125.          var cipherby = ord(data.charAt(i)) ^ k;
  126.          if(cipherby != 0)
  127.          {
  128.             cipher = cipher.concat(urlencode(chr(cipherby)));
  129.          }
  130.          else
  131.          {
  132.             cipher = cipher.concat("%00");
  133.          }
  134.          i++;
  135.       }
  136.       if(decode)
  137.       {
  138.          cipher = urldecode(cipher);
  139.       }
  140.       return cipher;
  141.    };
  142.    initSounds = function()
  143.    {
  144.       var _loc2_ = ["fireball","hitbybag","baghit","bonus","eat","chew","hittop","floorraise","loop","death"];
  145.       var _loc3_ = undefined;
  146.       var _loc1_ = 0;
  147.       while(_loc1_ < _loc2_.length)
  148.       {
  149.          var _loc0_ = null;
  150.          _loc3_ = _root[_loc2_[_loc1_] + "_sound"] = new Sound();
  151.          _loc3_.attachSound(_loc2_[_loc1_]);
  152.          _loc1_ = _loc1_ + 1;
  153.       }
  154.       _root.chew_sound.onSoundComplete = function()
  155.       {
  156.          this.completed = true;
  157.       };
  158.       _root.chew_sound.completed = true;
  159.       _root.loop_sound.start(0,10000);
  160.    };
  161.    initSounds();
  162.    play_chewyshootsafireball_sound = function()
  163.    {
  164.       _root.fireball_sound.start();
  165.    };
  166.    play_chewyhitbybag_sound = function()
  167.    {
  168.       _root.hitbybag_sound.start();
  169.    };
  170.    play_baghitbyfireball_sound = function()
  171.    {
  172.       _root.baghit_sound.start();
  173.    };
  174.    play_bonusbombhitbyfireball_sound = function()
  175.    {
  176.       _root.bonus_sound.start();
  177.    };
  178.    play_chewyeatsachewit_sound = function()
  179.    {
  180.       var _loc1_ = _root;
  181.       _loc1_.eat_sound.start();
  182.       if(_loc1_.chew_sound.completed)
  183.       {
  184.          _loc1_.chew_sound.completed = false;
  185.          _loc1_.chew_sound.start();
  186.       }
  187.    };
  188.    play_chewyhitsthetop_sound = function()
  189.    {
  190.       _root.hittop_sound.start();
  191.    };
  192.    start_floorraising_noise = function()
  193.    {
  194.       _root.floorraise_sound.start();
  195.    };
  196.    stop_floorraising_noise = function()
  197.    {
  198.    };
  199.    play_death_sound = function()
  200.    {
  201.       _root.death_sound.start();
  202.    };
  203.    SCREEN_WIDTH = 400;
  204.    SCREEN_HEIGHT = 520;
  205.    CHEWY_SCALE = 33.333333333333336;
  206.    START_Y = 478;
  207.    CHEWY_WIDTH = 270.8 * CHEWY_SCALE / 100;
  208.    CHEWY_HEIGHT = 377 * CHEWY_SCALE / 100;
  209.    CHEWY_Y_ADJUST = 60;
  210.    CHEWY_X_ADJUST = 0;
  211.    CHEWIT_SCALE = 50;
  212.    MIN_X = 10;
  213.    MAX_X = 390;
  214.    MAX_BAGS = 16;
  215.    MAX_FLAMES = 8;
  216.    MAX_CHEWITS = 32;
  217.    ANIMATION_START_FRAME = 0;
  218.    ANIMATION_END_FRAME = 1;
  219.    ANIMATION_CURRENT_FRAME = 2;
  220.    ANIMATION_FRAMETIME = 3;
  221.    ANIMATION_SPEED = 4;
  222.    IDLE_ANIMATION = 0;
  223.    WALK_ANIMATION = 1;
  224.    HIT_ANIMATION = 2;
  225.    CHEW_IDLE_ANIMATION = 3;
  226.    CHEW_WALK_ANIMATION = 4;
  227.    SUCK_IDLE_ANIMATION = 5;
  228.    SUCK_WALK_ANIMATION = 6;
  229.    FIRE_IDLE_ANIMATION = 7;
  230.    FIRE_WALK_ANIMATION = 8;
  231.    CHEWY_STATE_OK = 0;
  232.    CHEWY_STATE_HIT = 1;
  233.    CHEWY_STATE_CHEWING = 2;
  234.    CHEWY_STATE_FIRING = 3;
  235.    GAMESTATE_NOT_PLAYING = 0;
  236.    GAMESTATE_PLAYING = 1;
  237.    GAMESTATE_GAME_OVER_FADE = 2;
  238.    GAMESTATE_GAME_OVER = 3;
  239.    GAMESTATE_TITLE_SCREEN = 4;
  240.    GAMESTATE_INTRO_SCREEN = 5;
  241.    GAMESTATE_GAME_OVER_HISCORE_ENTRY = 6;
  242.    GAMESTATE_GAME_OVER_HISCORES = 7;
  243.    GAMESTATE_PAUSED = 8;
  244.    GAMESTATE_PAUSED_WAIT = 9;
  245.    GAMESTATE_PLAYING_WAIT = 10;
  246.    CHEWY_FACING_LEFT = 0;
  247.    CHEWY_FACING_RIGHT = 1;
  248.    HIT_TIME_MAXIMUM = 20;
  249.    TOPSPEED = 240;
  250.    _alpha = 0;
  251.    _parent.gamestate = GAMESTATE_NOT_PLAYING;
  252.    _xscale = CHEWY_SCALE;
  253.    _yscale = CHEWY_SCALE;
  254.    resettime = function()
  255.    {
  256.       _parent.starttime = getTimer();
  257.       _parent.lasttime = 0;
  258.    };
  259.    grabtime = function()
  260.    {
  261.       var _loc1_ = _parent;
  262.       _loc1_.thistime = getTimer() - _loc1_.starttime;
  263.       if(_loc1_.lasttime > 0)
  264.       {
  265.          _loc1_.delta = _loc1_.thistime - _loc1_.lasttime;
  266.       }
  267.       else
  268.       {
  269.          _loc1_.delta = 1;
  270.       }
  271.       _loc1_.delta /= 61.25;
  272.       _loc1_.lasttime = _loc1_.thistime;
  273.    };
  274.    getthistime = function()
  275.    {
  276.       return _parent.thistime - _parent.starttime;
  277.    };
  278.    scaletime = function()
  279.    {
  280.       var _loc1_ = getthistime() / (TOPSPEED * 1000);
  281.       if(_loc1_ < 0)
  282.       {
  283.          _loc1_ = 0;
  284.       }
  285.       if(_loc1_ > 1)
  286.       {
  287.          _loc1_ = 1;
  288.       }
  289.       return _loc1_;
  290.    };
  291.    newbagx = function()
  292.    {
  293.       var _loc1_ = 40;
  294.       return MIN_X + _loc1_ + (MAX_X - 2 * _loc1_ - MIN_X) * Math.random();
  295.    };
  296.    getpoints = function()
  297.    {
  298.       var _loc1_ = 1;
  299.       var _loc2_ = 20;
  300.       return Math.Floor(_loc1_ + (_loc2_ - _loc1_) * easeinfastout(scaletime())) * 10;
  301.    };
  302.    updatescore = function(thescore)
  303.    {
  304.       var _loc1_ = _parent;
  305.       if(currentbonusbbomb < bonusbombsat.length && thescore >= bonusbombsat[currentbonusbomb])
  306.       {
  307.          _loc1_.bonusbomb._visible = true;
  308.          _loc1_.bonusbomb.bombtime = 0;
  309.          _loc1_.bonusbomb._x = newbagx();
  310.          _loc1_.bonusbomb._y = -32;
  311.          currentbonusbomb++;
  312.       }
  313.       _loc1_.scoretext.text = "Score " + thescore;
  314.       myformat2 = new TextFormat();
  315.       myformat2.color = 65535;
  316.       myformat2.font = "MarkerFeltWide";
  317.       myformat2.align = "left";
  318.       myformat2.size = 18;
  319.       _loc1_.scoretext.embedFonts = true;
  320.       _loc1_.scoretext.setTextFormat(myformat2);
  321.       _loc1_.scoretext.embedFonts = true;
  322.       myformat1 = new TextFormat();
  323.       myformat1.color = 16777215;
  324.       myformat1.font = "MarkerFeltWide";
  325.       myformat1.align = "left";
  326.       myformat1.size = 18;
  327.       _loc1_.scoretext.embedFonts = true;
  328.       _loc1_.scoretext.setTextFormat(0,5,myformat1);
  329.       _loc1_.scoretext.embedFonts = true;
  330.    };
  331.    addchewitscore = function(c, s, combo)
  332.    {
  333.       var _loc1_ = _parent;
  334.       var _loc2_ = c;
  335.       myformat2 = new TextFormat();
  336.       myformat2.color = 16777215;
  337.       myformat2.font = "MarkerFeltWide";
  338.       myformat2.align = "center";
  339.       myformat2.size = 12;
  340.       _loc1_["chewitscore" + _loc2_]._visible = true;
  341.       _loc1_["chewitscore" + _loc2_].scoretime = 0;
  342.       _loc1_["chewitscore" + _loc2_].text = "+" + s;
  343.       _loc1_["chewitscore" + _loc2_].embedFonts = true;
  344.       _loc1_["chewitscore" + _loc2_].setTextFormat(myformat2);
  345.       _loc1_["chewitscore" + _loc2_].embedFonts = true;
  346.       _loc1_["chewitscore" + _loc2_]._x = _loc1_["chewit" + _loc2_]._x - _loc1_["chewitscore" + _loc2_]._width / 2;
  347.       _loc1_["chewitscore" + _loc2_]._y = _loc1_["chewit" + _loc2_]._y - _loc1_["chewitscore" + _loc2_]._height / 2;
  348.       if(combo > 0)
  349.       {
  350.          _loc1_.comboscore._visible = true;
  351.          _loc1_.comboscore.scoretime = 0;
  352.          _loc1_.comboscore.text = combo + 1 + "x combo!";
  353.          myformat1 = new TextFormat();
  354.          myformat1.color = 16711680;
  355.          myformat1.font = "MarkerFeltWide";
  356.          myformat1.align = "center";
  357.          myformat1.size = 14;
  358.          _loc1_.comboscore.embedFonts = true;
  359.          _loc1_.comboscore.setTextFormat(myformat1);
  360.          _loc1_.comboscore.embedFonts = true;
  361.          _loc1_.comboscore._x = _loc1_["chewit" + _loc2_]._x - _loc1_.comboscore._width / 2;
  362.          _loc1_.comboscore._y = _loc1_["chewitscore" + _loc2_]._y + _loc1_["chewitscore" + _loc2_]._height / 2;
  363.       }
  364.    };
  365.    setdebugtext = function(thetext)
  366.    {
  367.       var _loc1_ = _parent;
  368.       _loc1_.debugtext.text = "" + thetext;
  369.       myformat2 = _loc1_.debugtext.getTextFormat();
  370.       myformat2.color = 16777215;
  371.       myformat2.font = "MarkerFeltWide";
  372.       myformat2.align = "left";
  373.       myformat2.size = 18;
  374.       _loc1_.debugtext.setTextFormat(myformat2);
  375.    };
  376.    chewy_start_y = function()
  377.    {
  378.       return START_Y - CHEWY_HEIGHT / 2 + CHEWY_Y_ADJUST;
  379.    };
  380.    setfloorpos = function()
  381.    {
  382.       _parent.floor_mc._y = START_Y - 4 + base_y - chewy_start_y();
  383.    };
  384.    updatefloor = function()
  385.    {
  386.       var _loc1_ = _parent;
  387.       var _loc2_ = 1;
  388.       if(base_y > desired_base_y)
  389.       {
  390.          if(!_loc1_.floorsoundplaying)
  391.          {
  392.             start_floorraising_noise();
  393.             _loc1_.floorsoundplaying = true;
  394.          }
  395.          base_y -= _loc2_ * _loc1_.delta;
  396.          if(base_y < desired_base_y)
  397.          {
  398.             base_y = desired_base_y;
  399.          }
  400.          if(chewystate != CHEWY_STATE_HIT)
  401.          {
  402.             _Y = base_y;
  403.          }
  404.          setfloorpos();
  405.       }
  406.       else if(_loc1_.floorsoundplaying)
  407.       {
  408.          stop_floorraising_noise();
  409.          _loc1_.floorsoundplaying = false;
  410.       }
  411.    };
  412.    fastineaseout = function(n)
  413.    {
  414.       var _loc1_ = 1 - n;
  415.       return 1 - _loc1_ * _loc1_;
  416.    };
  417.    easeinfastout = function(n)
  418.    {
  419.       return n * n;
  420.    };
  421.    easeineaseout = function(n)
  422.    {
  423.       var _loc1_ = n;
  424.       if(_loc1_ < 0.5)
  425.       {
  426.          return 2 * (_loc1_ * _loc1_);
  427.       }
  428.       return 2 * _loc1_ * (2 - _loc1_) - 1;
  429.    };
  430.    getbagrate = function()
  431.    {
  432.       return 40 - 38 * scaletime();
  433.    };
  434.    bagfallrate = function()
  435.    {
  436.       return (4 + 20 * easeineaseout(scaletime())) * _parent.delta;
  437.    };
  438.    bagcollison = function(c)
  439.    {
  440.       var _loc2_ = c;
  441.       var _loc3_ = _parent;
  442.       var _loc1_ = 0;
  443.       while(_loc1_ < hitarray.length)
  444.       {
  445.          if(_loc3_["bag" + _loc2_].hittest(hitarray[_loc1_][0] + _X,hitarray[_loc1_][1] + _Y))
  446.          {
  447.             return true;
  448.          }
  449.          _loc1_ = _loc1_ + 1;
  450.       }
  451.       return false;
  452.    };
  453.    getmd5password = function()
  454.    {
  455.       var _loc1_ = 17;
  456.       var _loc3_ = [120,80,68,11,30,24,230,225,208,142,255,210,198,67,114,64,37,53,51,18,228,206,212];
  457.       var _loc2_ = new String("");
  458.       i = 0;
  459.       while(i < 23)
  460.       {
  461.          _loc2_ = _loc2_.concat(chr(_loc3_[i] ^ _loc1_));
  462.          _loc1_ = _loc1_ + 19 & 255;
  463.          i++;
  464.       }
  465.       return _loc2_;
  466.    };
  467.    gethiscores = function()
  468.    {
  469.       var _loc1_ = _parent;
  470.       var _loc2_ = getmd5password();
  471.       var _loc3_ = "hashed" + score + "-" + _loc1_.hiscoreentry.myname.text;
  472.       var encrypted = md5hash(_loc3_,_loc2_,false);
  473.       _loc1_.serverconnection.submit = encrypted;
  474.       _loc1_.serverconnection.sendandload("hiscores.php",_loc1_.serverconnection,"POST");
  475.       _loc1_.gamestate = GAMESTATE_GAME_OVER_HISCORES;
  476.       timeinstate = 0;
  477.    };
  478.    updatebags = function()
  479.    {
  480.       var _loc2_ = _parent;
  481.       var BAG_START_Y = -40;
  482.       if(chewystate == CHEWY_STATE_OK || chewystate == CHEWY_STATE_CHEWING || chewystate == CHEWY_STATE_FIRING)
  483.       {
  484.          if(nobags == 0)
  485.          {
  486.             nextbagtime = 0;
  487.          }
  488.          nextbagtime -= _loc2_.delta;
  489.          if(nextbagtime < 0)
  490.          {
  491.             if(!_loc2_["bag" + nextbagno]._visible)
  492.             {
  493.                _loc2_["bag" + nextbagno]._visible = true;
  494.                _loc2_["bag" + nextbagno].canhitchewy = true;
  495.                _loc2_["bag" + nextbagno]._x = newbagx();
  496.                _loc2_["bag" + nextbagno]._y = BAG_START_Y;
  497.                nextbagno++;
  498.                nextbagtime = getbagrate();
  499.                if(nextbagno >= MAX_BAGS)
  500.                {
  501.                   nextbagno = 0;
  502.                }
  503.                nobags++;
  504.             }
  505.          }
  506.       }
  507.       var BAG_OFF_BOTTOM_Y = SCREEN_HEIGHT;
  508.       var _loc1_ = 0;
  509.       while(_loc1_ < MAX_BAGS)
  510.       {
  511.          if(_loc2_["bag" + _loc1_]._visible)
  512.          {
  513.             _loc2_["bag" + _loc1_]._y += bagfallrate();
  514.             if(_loc2_["bag" + _loc1_]._y > BAG_OFF_BOTTOM_Y)
  515.             {
  516.                _loc2_["bag" + _loc1_]._visible = false;
  517.                nobags--;
  518.                var _loc3_ = 16;
  519.                desired_base_y -= _loc3_;
  520.             }
  521.          }
  522.          _loc1_ = _loc1_ + 1;
  523.       }
  524.    };
  525.    updateflames = function()
  526.    {
  527.       var _loc2_ = _parent;
  528.       var _loc3_ = 24;
  529.       var FLAME_OFF_TOP_Y = 0;
  530.       var START_FLAME_FRAME = 5;
  531.       var MAX_FLAME_FRAME = 8;
  532.       var FLAME_FRAME_TIME = 2;
  533.       var _loc1_ = 0;
  534.       while(_loc1_ < MAX_FLAMES)
  535.       {
  536.          if(_loc2_["flame" + _loc1_]._visible)
  537.          {
  538.             _loc2_["flame" + _loc1_]._y -= _loc3_ * _loc2_.delta;
  539.             _loc2_["flame" + _loc1_].flametime += _loc2_.delta;
  540.             if(_loc2_["flame" + _loc1_]._y < FLAME_OFF_TOP_Y)
  541.             {
  542.                _loc2_["flame" + _loc1_]._visible = false;
  543.             }
  544.             _loc2_["flame" + _loc1_].frametime += _loc2_.delta;
  545.             if(_loc2_["flame" + _loc1_].frametime > FLAME_ANIM_FRAME)
  546.             {
  547.                _loc2_["flame" + _loc1_].frametime -= FLAME_ANIM_FRAME;
  548.                _loc2_["flame" + _loc1_].flameframe = _loc2_["flame" + _loc1_].flameframe + 1;
  549.                if(_loc2_["flame" + _loc1_].flameframe > MAX_FLAME_FRAME)
  550.                {
  551.                   _loc2_["flame" + _loc1_].flameframe > START_FLAME_FRAME;
  552.                }
  553.             }
  554.             _loc2_["flame" + _loc1_].gotoAndStop(_loc2_["flame" + _loc1_].flameframe);
  555.          }
  556.          _loc1_ = _loc1_ + 1;
  557.       }
  558.    };
  559.    throwchewits = function(b, distancescale)
  560.    {
  561.       var _loc1_ = _parent;
  562.       var _loc2_ = b;
  563.       var _loc3_ = distancescale;
  564.       createchewit(_loc1_["bag" + _loc2_]._x,_loc1_["bag" + _loc2_]._y);
  565.       if(Math.random() > 0.1 + 0.69 * _loc3_)
  566.       {
  567.          createchewit(_loc1_["bag" + _loc2_]._x,_loc1_["bag" + _loc2_]._y);
  568.          if(Math.random() > 0.1 + 0.79 * _loc3_)
  569.          {
  570.             createchewit(_loc1_["bag" + _loc2_]._x,_loc1_["bag" + _loc2_]._y);
  571.             if(Math.random() > 0.1 + 0.89 * _loc3_)
  572.             {
  573.                createchewit(_loc1_["bag" + _loc2_]._x,_loc1_["bag" + _loc2_]._y);
  574.             }
  575.          }
  576.       }
  577.    };
  578.    updatebomb = function()
  579.    {
  580.       var _loc1_ = _parent;
  581.       var BOMB_FALL_RATE = 5;
  582.       var BOMB_FLASH_RATE = 2;
  583.       var BOMB_OFF_BOTTOM = 520;
  584.       if(_loc1_.bonusbomb._visible)
  585.       {
  586.          _loc1_.bonusbomb.bombtime += _loc1_.delta;
  587.          var flashtime = _loc1_.bonusbomb.bombtime / BOMB_FLASH_RATE;
  588.          var flashamount = Math.Sin(flashtime) / 2 + 0.5;
  589.          var MAX_ALPHA = 80;
  590.          var MIN_ALPHA = 30;
  591.          _loc1_.bonusbomb._alpha = MIN_ALPHA + (MAX_ALPHA - MIN_ALPHA) * flashamount;
  592.          _loc1_.bonusbomb.startalpha = _loc1_.bonusbomb._alpha;
  593.          var shotbomb = false;
  594.          var f = 0;
  595.          while(f < MAX_FLAMES)
  596.          {
  597.             if(_loc1_["flame" + f]._visible && _loc1_["flame" + f].hittest(_loc1_.bonusbomb))
  598.             {
  599.                shotbomb = true;
  600.             }
  601.             f++;
  602.          }
  603.          if(shotbomb)
  604.          {
  605.             play_bonusbombhitbyfireball_sound();
  606.             _loc1_.bonusbomb._visible = false;
  607.             var f = 0;
  608.             while(f < MAX_FLAMES)
  609.             {
  610.                _loc1_["flame" + f]._visible = false;
  611.                f++;
  612.             }
  613.             var points = getpoints();
  614.             var _loc2_ = 0;
  615.             while(_loc2_ < MAX_CHEWITS)
  616.             {
  617.                if(_loc1_["chewit" + _loc2_]._visible && !_loc1_["chewit" + _loc2_].suckedin)
  618.                {
  619.                   _loc1_["chewit" + _loc2_]._visible = false;
  620.                   _loc1_["chewitscore" + _loc2_].bombshot = true;
  621.                   score += points;
  622.                   addchewitscore(_loc2_,points,0);
  623.                }
  624.                _loc2_ = _loc2_ + 1;
  625.             }
  626.             var _loc3_ = 0;
  627.             while(_loc3_ < MAX_BAGS)
  628.             {
  629.                if(_loc1_["bag" + _loc3_]._visible)
  630.                {
  631.                   throwchewits(_loc3_,-1);
  632.                   _loc1_["bag" + _loc3_]._visible = false;
  633.                }
  634.                _loc3_ = _loc3_ + 1;
  635.             }
  636.             updatescore(score);
  637.          }
  638.          else
  639.          {
  640.             _loc1_.bonusbomb._y += BOMB_FALL_RATE * _loc1_.delta;
  641.             if(_loc1_.bonusbomb._y > BOMB_OFF_BOTTOM)
  642.             {
  643.                _loc1_.bonusbomb._visible = false;
  644.             }
  645.          }
  646.       }
  647.    };
  648.    updatechewits = function()
  649.    {
  650.       var _loc1_ = _parent;
  651.       var CHEWIT_BOUNCE_LEFT = 30;
  652.       var CHEWIT_BOUNCE_RIGHT = 372;
  653.       var CHEWIT_DROP_SPEED = -1.8;
  654.       var CHEWIT_OFF_BOTTOM = 500;
  655.       var _loc3_ = 8;
  656.       var CHEWIT_COMBOSCORE_FADE = 12;
  657.       var CHEWIT_SCORE_DELTA_Y = 70 / _loc3_;
  658.       var _loc2_ = 0;
  659.       while(_loc2_ < MAX_CHEWITS)
  660.       {
  661.          if(_loc1_["chewit" + _loc2_]._visible && !_loc1_["chewit" + _loc2_].suckedin)
  662.          {
  663.             _loc1_["chewit" + _loc2_]._rotation += _loc1_["chewit" + _loc2_].rotaterate * _loc1_.delta;
  664.             _loc1_["chewit" + _loc2_].delta_y += CHEWIT_DROP_SPEED * _loc1_.delta;
  665.             _loc1_["chewit" + _loc2_]._y -= _loc1_["chewit" + _loc2_].delta_y * _loc1_.delta;
  666.             _loc1_["chewit" + _loc2_]._x += _loc1_["chewit" + _loc2_].delta_x * _loc1_.delta;
  667.             if(_loc1_["chewit" + _loc2_]._x < CHEWIT_BOUNCE_LEFT)
  668.             {
  669.                if(_loc1_["chewit" + _loc2_].delta_x < 0)
  670.                {
  671.                   _loc1_["chewit" + _loc2_].delta_x = - _loc1_["chewit" + _loc2_].delta_x;
  672.                }
  673.             }
  674.             if(_loc1_["chewit" + _loc2_]._x > CHEWIT_BOUNCE_RIGHT)
  675.             {
  676.                if(_loc1_["chewit" + _loc2_].delta_x > 0)
  677.                {
  678.                   _loc1_["chewit" + _loc2_].delta_x = - _loc1_["chewit" + _loc2_].delta_x;
  679.                }
  680.             }
  681.             if(_loc1_["chewit" + _loc2_]._y > CHEWIT_OFF_BOTTOM)
  682.             {
  683.                _loc1_["chewit" + _loc2_]._visible = false;
  684.             }
  685.          }
  686.          if(_loc1_["chewitscore" + _loc2_]._visible)
  687.          {
  688.             _loc1_["chewitscore" + _loc2_].scoretime += _loc1_.delta;
  689.             var fadetime = (_loc3_ - _loc1_["chewitscore" + _loc2_].scoretime) / _loc3_;
  690.             if(fadetime < 0)
  691.             {
  692.                _loc1_["chewitscore" + _loc2_]._visible = false;
  693.             }
  694.             else
  695.             {
  696.                var fadetime = _loc1_["chewitscore" + _loc2_].scoretime / _loc3_;
  697.                _loc1_["chewitscore" + _loc2_]._alpha = 100 - easeinfastout(fadetime) * 100;
  698.                _loc1_["chewitscore" + _loc2_].startalpha = _loc1_["chewitscore" + _loc2_]._alpha;
  699.                _loc1_["chewitscore" + _loc2_]._y -= CHEWIT_SCORE_DELTA_Y * _loc1_.delta;
  700.             }
  701.          }
  702.          _loc2_ = _loc2_ + 1;
  703.       }
  704.       if(_loc1_.comboscore._visible)
  705.       {
  706.          _loc1_.comboscore.scoretime += _loc1_.delta;
  707.          var fadetime = (CHEWIT_COMBOSCORE_FADE - _loc1_.comboscore.scoretime) / CHEWIT_COMBOSCORE_FADE;
  708.          if(fadetime < 0)
  709.          {
  710.             _loc1_.comboscore._visible = false;
  711.          }
  712.          else
  713.          {
  714.             var fadetime = _loc1_.comboscore.scoretime / CHEWIT_COMBOSCORE_FADE;
  715.             _loc1_.comboscore._alpha = 100 - easeinfastout(fadetime) * 100;
  716.             _loc1_.comboscore.startalpha = _loc1_.comboscore._alpha;
  717.             _loc1_.comboscore._y -= CHEWIT_SCORE_DELTA_Y * _loc1_.delta;
  718.          }
  719.       }
  720.    };
  721.    createchewit = function(atx, aty)
  722.    {
  723.       var _loc2_ = _parent;
  724.       var CHEWIT_DELTAX_SCALE = 12;
  725.       var CHEWIT_DELTAY_MIN = 10;
  726.       var CHEWIT_DELTAY_MAX = 16;
  727.       var CHEWIT_ROTATE_RATE_MAX = 60;
  728.       if(_loc2_["chewit" + nextchewitno]._visible)
  729.       {
  730.          var _loc1_ = 0;
  731.          while(_loc1_ < MAX_CHEWITS)
  732.          {
  733.             if(!_loc2_["chewit" + _loc1_]._visible)
  734.             {
  735.                nextchewitno = _loc1_;
  736.             }
  737.             _loc1_ = _loc1_ + 1;
  738.          }
  739.       }
  740.       if(!_loc2_["chewit" + nextchewitno]._visible)
  741.       {
  742.          _loc2_["chewit" + nextchewitno]._visible = true;
  743.          _loc2_["chewit" + nextchewitno].suckedin = false;
  744.          _loc2_["chewit" + nextchewitno]._rotation = Math.random() * 100;
  745.          _loc2_["chewit" + nextchewitno]._x = atx;
  746.          _loc2_["chewit" + nextchewitno]._y = aty;
  747.          _loc2_["chewit" + nextchewitno]._xscale = CHEWIT_SCALE;
  748.          _loc2_["chewit" + nextchewitno]._yscale = CHEWIT_SCALE;
  749.          var _loc3_ = (Math.random() - 0.5) / 0.5;
  750.          _loc2_["chewit" + nextchewitno].delta_x = _loc3_ * CHEWIT_DELTAX_SCALE;
  751.          _loc2_["chewit" + nextchewitno].delta_y = CHEWIT_DELTAY_MIN + (CHEWIT_DELTAY_MAX - CHEWIT_DELTAY_MIN) * Math.Random();
  752.          _loc3_ = (Math.random() - 0.5) / 0.5;
  753.          _loc2_["chewit" + nextchewitno].rotaterate = CHEWIT_ROTATE_RATE_MAX * _loc3_;
  754.          nextchewitno++;
  755.          if(nextchewitno >= MAX_CHEWITS)
  756.          {
  757.             nextchewitno = 0;
  758.          }
  759.       }
  760.    };
  761.    playgame = function()
  762.    {
  763.       var _loc1_ = _parent;
  764.       mouse.hide();
  765.       _loc1_.gamestate = GAMESTATE_PLAYING;
  766.       _loc1_.floorsoundplaying = false;
  767.       chewystate = CHEWY_STATE_OK;
  768.       score = 0;
  769.       lives = 3;
  770.       _alpha = 100;
  771.       resettime();
  772.       nobags = 0;
  773.       hitarray = new Array(new Array(0,0),new Array(0,(- CHEWY_HEIGHT) * 0.66),new Array((- CHEWY_WIDTH) * 0.24,(- CHEWY_HEIGHT) * 0.3),new Array(CHEWY_WIDTH * 0.24,(- CHEWY_HEIGHT) * 0.3));
  774.       animations = new Array(new Array(1,10,1,0,1),new Array(11,20,11,0,1),new Array(61,70,61,0,1),new Array(41,50,41,0,1),new Array(51,60,51,0,1),new Array(81,90,81,0,1),new Array(91,100,91,0,1),new Array(24,30,24,0,0),new Array(34,40,34,0,0));
  775.       bonusbombsat = new Array(100,300,500,750,1250,2000,3000,5000,7500,10000,15000,20000,30000,50000,75000,100000,150000,250000,500000,1000000);
  776.       currentbonusbomb = 0;
  777.       chewyfacing = CHEWY_FACING_LEFT;
  778.       nextbagno = 0;
  779.       nextflameno = 0;
  780.       nextchewitno = 0;
  781.       nextbagtime = 0;
  782.       nextflametime = 0;
  783.       _X = SCREEN_WIDTH / 2;
  784.       _Y = chewy_start_y();
  785.       base_y = _Y;
  786.       desired_base_y = base_y;
  787.       lastwalkpos = _X;
  788.       timeinstate = 0;
  789.       setfloorpos();
  790.       var BAG_SCALE = 50;
  791.       _loc1_.floor_mc._visible = true;
  792.       _loc1_.sky_mc._visible = true;
  793.       _loc1_.sky_mc._x = 90;
  794.       _loc1_.sky_mc._y = 10.3;
  795.       var b = 0;
  796.       while(b < MAX_BAGS)
  797.       {
  798.          _loc1_.attachMovie("bagsource" + b % 3,"bag" + b,20 + b);
  799.          _loc1_["bag" + b]._visible = false;
  800.          _loc1_["bag" + b]._xscale = BAG_SCALE;
  801.          _loc1_["bag" + b]._yscale = BAG_SCALE;
  802.          b++;
  803.       }
  804.       var _loc3_ = 0;
  805.       while(_loc3_ < MAX_FLAMES)
  806.       {
  807.          _loc1_.attachMovie("explode","flame" + _loc3_,60 + _loc3_);
  808.          _loc1_["flame" + _loc3_]._visible = false;
  809.          _loc1_["flame" + _loc3_]._xscale = 60;
  810.          _loc1_["flame" + _loc3_]._yscale = 60;
  811.          _loc1_["flame" + _loc3_].flametime = 0;
  812.          _loc1_["flame" + _loc3_].flameframe = 0;
  813.          _loc1_["flame" + _loc3_].frametime = 0;
  814.          _loc3_ = _loc3_ + 1;
  815.       }
  816.       var NO_CHEWIT_TYPES = 12;
  817.       var _loc2_ = 0;
  818.       while(_loc2_ < MAX_CHEWITS)
  819.       {
  820.          var chewitno = _loc2_ % NO_CHEWIT_TYPES;
  821.          _loc1_.attachMovie("chewit" + chewitno,"chewit" + _loc2_,100 + _loc2_);
  822.          _loc1_.createTextField("chewitscore" + _loc2_,100 + _loc2_ + MAX_CHEWITS,0,0,40,40);
  823.          _loc1_["chewitscore" + _loc2_].type = "dynamic";
  824.          _loc1_["chewit" + _loc2_]._visible = false;
  825.          _loc1_["chewitscore" + _loc2_]._visible = false;
  826.          _loc2_ = _loc2_ + 1;
  827.       }
  828.       _loc1_.createTextField("comboscore",101 + MAX_CHEWITS * 2,0,0,80,40);
  829.       _loc1_.comboscore.type = "dynamic";
  830.       _loc1_.comboscore._visible = false;
  831.       _loc1_.comboscore.type = "dynamic";
  832.       _loc1_.attachMovie("lifeicon","life2",42);
  833.       _loc1_.attachMovie("lifeicon","life1",41);
  834.       _loc1_.attachMovie("lifeicon","life0",40);
  835.       _loc1_.attachMovie("bonusbomb","bonusbomb",102 + MAX_CHEWITS * 2);
  836.       _loc1_.bonusbomb._visible = false;
  837.       _loc1_.createTextField("scoretext",43,22,482,150,50);
  838.       _loc1_.createTextField("debugtext",44,168,484,150,50);
  839.       updatescore(score);
  840.       var l = 0;
  841.       while(l < 3)
  842.       {
  843.          _loc1_["life" + l]._x = 352 - l * 30;
  844.          _loc1_["life" + l]._y = 478;
  845.          _loc1_["life" + l]._yscale = 120;
  846.          _loc1_["life" + l]._xscale = 120;
  847.          _loc1_["life" + l]._visible = true;
  848.          l++;
  849.       }
  850.    };
  851.    startgame = function()
  852.    {
  853.       var _loc3_ = _parent;
  854.       hiscores = new Array(new Array("",""),new Array("",""),new Array("",""),new Array("",""),new Array("",""),new Array("",""),new Array("",""),new Array("",""),new Array("",""),new Array("",""));
  855.       _loc3_.serverconnection = new LoadVars();
  856.       _loc3_.serverconnection.onLoad = function(success)
  857.       {
  858.          if(success)
  859.          {
  860.             var _loc1_ = 0;
  861.             while(_loc1_ < 10)
  862.             {
  863.                var _loc3_ = new String(_parent.serverconnection["hi" + _loc1_]);
  864.                var _loc2_ = 0;
  865.                while(_loc3_.charAt(_loc2_) != "-" && _loc2_ < _loc3_.length)
  866.                {
  867.                   _loc2_ = _loc2_ + 1;
  868.                }
  869.                if(_loc2_ < _loc3_.length)
  870.                {
  871.                   var thename = _loc3_.substr(0,_loc2_);
  872.                   var thescore = _loc3_.substr(_loc2_ + 1);
  873.                   hiscores[_loc1_][0] = thename;
  874.                   hiscores[_loc1_][1] = thescore;
  875.                   _parent.hiscorescreen["hiscore" + _loc1_].position.text = _loc1_ + 1 + ".";
  876.                   _parent.hiscorescreen["hiscore" + _loc1_].score.text = thescore;
  877.                   _parent.hiscorescreen["hiscore" + _loc1_].name.text = thename;
  878.                }
  879.                else
  880.                {
  881.                   hiscores[_loc1_][0] = "";
  882.                   hiscores[_loc1_][1] = "";
  883.                   _parent.hiscorescreen["hiscore" + _loc1_].position.text = "";
  884.                   _parent.hiscorescreen["hiscore" + _loc1_].score.text = "";
  885.                   _parent.hiscorescreen["hiscore" + _loc1_].name.text = "";
  886.                }
  887.                _loc1_ = _loc1_ + 1;
  888.             }
  889.             positiontext = Number(_parent.serverconnection.pos) + 1 + ".";
  890.             _parent.hiscorescreen["hiscore-1"].position.text = positiontext;
  891.             myformat1 = _parent.hiscorescreen["hiscore-1"].position.getTextFormat();
  892.             myformat1.color = 65535;
  893.             _parent.hiscorescreen["hiscore-1"].position.embedFonts = true;
  894.             _parent.hiscorescreen["hiscore-1"].position.setTextFormat(myformat1);
  895.             _parent.hiscorescreen["hiscore-1"].position.embedFonts = true;
  896.          }
  897.       };
  898.       _loc3_.gamestate = GAMESTATE_TITLE_SCREEN;
  899.       _loc3_.attachMovie("titlescreen_mc","titlescreen",40);
  900.       _loc3_.titlescreen._x = 0;
  901.       _loc3_.titlescreen._y = -20;
  902.       _loc3_.titlescreen._visible = true;
  903.    };
  904. }
  905.